#pragma once

#include "IXFrame.h"
#include "IXDraw.h"

class ExportXSkinLib IXMenuEx;

/**
 *  IXMenuItem Interface.
 *
 */
class ExportXSkinLib IXMenuItem : public IXFrame
{
    DEF_INTERFACE(IXMenuItem, _T("{971016EF-2937-43b0-8C5D-A383EF4AC636}"));

public:
    virtual HRESULT STDMETHODCALLTYPE   put_Draw(IN IXDraw* pDraw) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_Draw(OUT IXDraw** ppDraw) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_CheckDraw(IN IXDraw* pCheckDraw) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_CheckDraw(OUT IXDraw** ppCheckDraw) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_Check(IN BOOL bCheck) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_Check(OUT BOOL* pbCheck) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_Enable(IN BOOL bEnable) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_Enable(OUT BOOL* pbEnable) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_TextColor(IN COLORREF clrText) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_TextColor(OUT COLORREF* pClrText) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_SelTextColor(IN COLORREF clrSelText) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_SelTextColor(OUT COLORREF* pClrSelText) = 0;

    virtual HRESULT STDMETHODCALLTYPE   put_DisabledTextColor(IN COLORREF clrDisableText) = 0;
    virtual HRESULT STDMETHODCALLTYPE   get_DisabledTextColor(OUT COLORREF* pClrDisableText) = 0;

    virtual IXMenuEx* STDMETHODCALLTYPE GetSubMenu() = 0;
};

